package cn.tedu.oop3;
/**本类用于
 * 1.子类在创建对象时，默认会先调用父类的构造方法
 * 2.原因是子类构造函数中的第一行默认存在super();--表示调用父类的无参构造
 * 3.当父类没有无参构造时，可以通过super(参数);手动调用父类的其他含参构造
 * * 注意:子类必须调用父类的一个构造函数,不管是无参还是含参,选一个即可
 * * 4.super调用构造函数要求必须在构造函数的第1行!
 * * 5.构造方法不可以被继承!原因:因为构造函数的要求方法名必须是本类的类名
 * * 不能在子类中出现一个父类名字的构造方法*/
public class TestSuper2 {
    public static void main(String[] args) {
        Father2 f1 = new Father2();
        Father2 f2 = new Father2(88);
        Son2 s = new Son2();
    }
}
class Father2{
    public Father2(){
        System.out.println("我是父类的无参构造");
    }
    public Father2(int n){
        System.out.println("我是父类的含参构造"+n);
    }
}
class Son2 extends Father2{
    public Son2(){
        super();
//        super(99);
        System.out.println("子类的无参构造");
    }
}
